<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div>
        <img src="./empty.png" alt="">
        <img src="./empty.png" alt="">
        <img src="./empty.png" alt="">
        <img src="./empty.png" alt="">
        <img src="./empty.png" alt="">
    </div>
    <p></p>

    <script>
        let img = document.getElementsByTagName("img");
        let p = document.getElementsByTagName("p")[0];
        // 评价数组
        let arr = ["很差", "较差", "一般", "较好", "很好"];
        // 用于判断是否点击星星
        let flag = -1; //-1表示没有点击

        // 鼠标移入事件
        for (let i = 0; i < img.length; i++) {
            img[i].onmouseenter = function () {
                if (flag > -1) {
                    // 全部星星变成白色
                    for (let j = 0; j < img.length; j++) {
                        img[j].src = "./empty.png";
                    }
                }

                // 从第一颗星星到当前移入的星星都变成黄色
                for (let j = 0; j <= i; j++) {
                    img[j].src = "./shining.png";
                }
                // 显示对应的评价
                p.innerText = arr[i];
            }
        }


        // 鼠标移出事件
        for (let i = 0; i < img.length; i++) {
            img[i].onmouseleave = function () {
                // 从第一颗星星到最后的星星都变成白色
                for (let j = 0; j < img.length; j++) {
                    img[j].src = "./empty.png";
                }
                // 没有点击
                if (flag < 0) {
                    // 评价消失
                    p.innerText = "";
                } else {
                    for (let j = 0; j <= flag; j++) {
                        img[j].src = "./shining.png";
                    }
                    p.innerText = arr[i];
                }

            }
        }

        // 鼠标点击事件
        for (let i = 0; i < img.length; i++) {
            img[i].onclick = function () {
                console.log("点击")
                // 从第一颗星星到当前点击的星星都变成黄色
                for (let j = 0; j <= i; j++) {
                    img[j].src = "./shining.png";
                }
                // 评价出现
                p.innerText = arr[i];
                flag = i;
            }
        }
    </script>
</body>

</html>